package com.jeecms.wicool.entity.product.base;

import com.google.common.collect.Sets;
import com.jeecms.wicool.entity.image.ImageEntity;
import com.jeecms.wicool.entity.product.ProductCate;
import com.jeecms.wicool.entity.product.ProductRelation;
import com.jeecms.wicool.entity.product.ProductSku;
import com.jeecms.wicool.entity.shops.ShopInfo;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Set;


/**
 * AbstractProduct entity provides the base persistence definition of the
 * Product entity. @author MyEclipse Persistence Tools
 */

public abstract class AbstractProduct implements java.io.Serializable {

    // Fields

    private Integer id;
    private ShopInfo shop;
    private ProductCate productCate;
    private String productName;
    private String itemNo;
    private Integer brandId;
    private String producePlace;
    private BigDecimal price;
    private BigDecimal priceMarket;
    private String simpleContent;
    private String content;
    private String imgUrl;
    private Integer orderNum;
    private Short onHomepage;
    private String onHomepageName;
    private Short status;
    private String statusName;
    private Integer publisher;
    private Timestamp createTime;
    private Timestamp updateTime;
    private Integer score;
    private ProductRelation productRelation;
    private Set<ImageEntity> imgList = Sets.newHashSet();
    private Set<ProductSku> productSkus;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public ShopInfo getShop() {
        return shop;
    }

    public void setShop(ShopInfo shop) {
        this.shop = shop;
    }

    public ProductCate getProductCate() {
        return productCate;
    }

    public void setProductCate(ProductCate productCate) {
        this.productCate = productCate;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getItemNo() {
        return itemNo;
    }

    public void setItemNo(String itemNo) {
        this.itemNo = itemNo;
    }

    public Integer getBrandId() {
        return brandId;
    }

    public void setBrandId(Integer brandId) {
        this.brandId = brandId;
    }

    public String getProducePlace() {
        return producePlace;
    }

    public void setProducePlace(String producePlace) {
        this.producePlace = producePlace;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPriceMarket() {
        return priceMarket;
    }

    public void setPriceMarket(BigDecimal priceMarket) {
        this.priceMarket = priceMarket;
    }

    public String getSimpleContent() {
        return simpleContent;
    }

    public void setSimpleContent(String simpleContent) {
        this.simpleContent = simpleContent;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Short getOnHomepage() {
        return onHomepage;
    }

    public void setOnHomepage(Short onHomepage) {
        this.onHomepage = onHomepage;
    }

    public String getOnHomepageName() {
        return onHomepageName;
    }

    public void setOnHomepageName(String onHomepageName) {
        this.onHomepageName = onHomepageName;
    }

    public Short getStatus() {
        return status;
    }

    public void setStatus(Short status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public Integer getPublisher() {
        return publisher;
    }

    public void setPublisher(Integer publisher) {
        this.publisher = publisher;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getScore() {
        return score;
    }

    public void setScore(Integer score) {
        this.score = score;
    }

    public ProductRelation getProductRelation() {
        return productRelation;
    }

    public void setProductRelation(ProductRelation productRelation) {
        this.productRelation = productRelation;
    }

    public Set<ImageEntity> getImgList() {
        return imgList;
    }

    public void setImgList(Set<ImageEntity> imgList) {
        this.imgList = imgList;
    }

    public Set<ProductSku> getProductSkus() {
        return productSkus;
    }

    public void setProductSkus(Set<ProductSku> productSkus) {
        this.productSkus = productSkus;
    }

    public AbstractProduct() {

    }

    public AbstractProduct(Integer id, ShopInfo shop, ProductCate productCate, String productName, String itemNo, Integer brandId, String producePlace, BigDecimal price, BigDecimal priceMarket, String simpleContent, String content, String imgUrl, Integer orderNum, Short onHomepage, String onHomepageName, Short status, String statusName, Integer publisher, Timestamp createTime, Timestamp updateTime, Integer score, ProductRelation productRelation, Set<ImageEntity> imgList, Set<ProductSku> productSkus) {

        this.id = id;
        this.shop = shop;
        this.productCate = productCate;
        this.productName = productName;
        this.itemNo = itemNo;
        this.brandId = brandId;
        this.producePlace = producePlace;
        this.price = price;
        this.priceMarket = priceMarket;
        this.simpleContent = simpleContent;
        this.content = content;
        this.imgUrl = imgUrl;
        this.orderNum = orderNum;
        this.onHomepage = onHomepage;
        this.onHomepageName = onHomepageName;
        this.status = status;
        this.statusName = statusName;
        this.publisher = publisher;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.score = score;
        this.productRelation = productRelation;
        this.imgList = imgList;
        this.productSkus = productSkus;
    }
}